home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / UTILITY2 / RFDML120.ZIP / ISMENNT.SCR < prev    next >
Text File  |  1994-02-07  |  10KB  |  397 lines

  1. ;------------------------------------------------------------
  2. ; NOTE: this file provided AS-IS without any warranty by
  3. ;       Performance Designs.  Contact the original author 
  4. ;    (listed below) if you need more information about
  5. ;    this script.
  6. ;------------------------------------------------------------
  7. ; ELM-UNIX.SCR - SCRIPT-file for RFD-Mail to connect to Unix 
  8. ; environments using Elm - ELectronic Mail interface through
  9. ; a Cisco terminal server to pick a computer of choice.
  10. ; This script is tailored for the "Islenska menntanetid"
  11. ; using "Akureyri"-machine - See Alias listings for details.
  12. ; Author: Bjvrn Davmpsson - snerpa@ismennt.is - Version: 1.20
  13. ;------------------------------------------------------------
  14. ;
  15. ;   We begin with the format specifiers to which allow
  16. ;the script to identify where the MailId, RealName,
  17. ;and Subject texts are in a newly downloaded letter.
  18. ;
  19. Format
  20. Subject: $SUBJECT$\n
  21. Subj: $SUBJECT$\n
  22. From: "$NAME$" <$UID$>\n
  23. From: ""$NAME$"" <$UID$>\n
  24. From: $NAME$<$UID$>\n
  25. From: $UID$ ($NAME$)\n
  26. From: $UID$ \n
  27. From: $UID$\n
  28. Endformat
  29. ;--------------------------------
  30. ; Alias definitions
  31.    Alias cisco 'IMnet'
  32.    Alias machine 'akureyri'
  33.    Alias terminal 'Af hvernig'
  34.    Alias prompt ']> '
  35.    Alias elmcmd 'Command:'
  36.    Alias banner1 'Velkomin(n)'
  37.    Alias banner2 'ismennt.is'
  38.    Alias topmenu 'Apalvalmynd: >'
  39.    Alias exit 'Bless'
  40. ;--------------------------------
  41. Begin START
  42.    Caption 'Connect'
  43. ; Check for Cisco prompt
  44.    When %cisco% Goto VJEL
  45.    When 'login: ' Goto USERNAME
  46.    Timeout 8 Goto START
  47. End
  48. ;--------------------------------
  49. Begin VJEL
  50. ; Select computer
  51.    Transmit %machine%
  52.    Cr
  53.    When 'login: ' Goto USERNAME
  54.    Timeout 30 Goto NO_LOGIN
  55. End
  56. ;--------------------------------
  57. Begin NO_LOGIN
  58.    Timeout 5 Goto GIVE_UP
  59. End
  60. ;--------------------------------
  61. Begin USERNAME
  62.    Transmit $USERNAME
  63.    Cr
  64.    When 'Password:' Goto PASSWORD
  65.    Timeout 50 Goto NO_LOGIN
  66. End
  67. ;--------------------------------
  68. Begin PASSWORD
  69.    Transmit $PASSWORD
  70.    Cr
  71.    When 'login: ' Goto USERNAME
  72.    When 'login incorrect' Goto NO_LOGIN
  73. ; Check for Welcome banner
  74.    When %banner1% Goto LOGGED_IN
  75.    When %banner2% Goto LOGGED_IN
  76. ; Check for Terminaltype question
  77.    When %terminal% Goto SEND_TERMTYPE
  78.    Timeout 60 Goto NO_LOGIN
  79. End
  80. ;--------------------------------
  81. Begin LOGGED_IN
  82.    Caption 'Logon OK'
  83.    When %terminal% Goto SEND_TERMTYPE
  84.    When %topmenu% Goto JUMP_TO_SHELL
  85.    Timeout 45 Goto NO_LOGIN
  86. End
  87. ;--------------------------------
  88. Begin SEND_TERMTYPE
  89.    Caption 'VT100'
  90. ; p = PC terminal (VT100)
  91.    Transmit 'p'
  92.    Cr
  93.    When %topmenu% Goto JUMP_TO_SHELL
  94.    Timeout 45 Goto NO_LOGIN
  95. End
  96. ;--------------------------------
  97. ; Using "Exit to shell" to leave Top Menu
  98. ; and get to the prompt.
  99. Begin JUMP_TO_SHELL
  100.    Transmit %exit%
  101.    Cr
  102.    When %prompt% Goto CHECK_FOR_MAIL
  103.    Timeout 10 Goto GIVE_UP
  104. End
  105. ;--------------------------------
  106. Begin CHECK_FOR_MAIL
  107.    Caption 'Checking mailbox'
  108.    Transmit 'elm -Kmz'
  109.    Cr
  110.    When 'no mail' Goto NO_MAIL_WAITING
  111.    When %prompt% Goto NO_MAIL_WAITING
  112.    When 'message' Goto MAIL_WAITING
  113.    Timeout 10 Goto RETRY_JUMP
  114. End
  115. ;--------------------------------
  116. Begin RETRY_JUMP
  117.    Transmit 'elm -Kmz'
  118.    Cr
  119.    When 'no mail' Goto NO_MAIL_WAITING
  120.    When %prompt% Goto NO_MAIL_WAITING
  121.    When 'message' Goto MAIL_WAITING
  122.    Timeout 15 Goto GIVE_UP
  123. End
  124. ;--------------------------------
  125. Begin GIVE_UP
  126. ; USE = Unknown Script Error ;-)
  127.    Caption 'USE - Check script'
  128.    Hangup
  129.    Exit
  130. End
  131. ;--------------------------------
  132. Begin NO_MAIL_WAITING
  133.    Caption 'No mail'
  134.    If MORE_LETTERS Then SEND_MAIL
  135.    Timeout 5 Goto WAIT_TO_LOG_OFF
  136. End
  137. ;--------------------------------
  138. Begin MAIL_WAITING
  139.    Caption 'You have mail'
  140.    If FETCHING Then START_FETCH
  141.    If MORE_LETTERS Then SEND_MAIL
  142.    Timeout 5 Goto WAIT_TO_LOG_OFF
  143. End
  144. ;--------------------------------
  145. Begin START_FETCH
  146.    When %elmcmd% Goto FETCH_FROM_ELM
  147.    Timeout 15 Goto GIVE_UP
  148. End
  149. ;--------------------------------
  150. Begin FETCH_FROM_ELM
  151.    Transmit 's'
  152.    Transmit $LETTER.FILENAME
  153.    Cr
  154.    When %elmcmd% Goto REQ_DNLOAD
  155.    Timeout 5 Goto WAIT_REQ_DNLOAD
  156. End
  157. ;--------------------------------
  158. Begin WAIT_REQ_DNLOAD
  159.    Transmit ' '
  160.    Cr
  161.    When %elmcmd% Goto REQ_DNLOAD
  162.    Timeout 15 Goto GIVE_UP
  163. End
  164. ;--------------------------------
  165. Begin REQ_DNLOAD
  166. ; Use Zmodem
  167.    Transmit '!sz '
  168.    Transmit $LETTER.FILENAME
  169.    Cr
  170.    When 'B00' Goto PAUSE_FOR_DNLOAD
  171.    Timeout 15 Goto ABORT_DNLOAD
  172. End
  173. ;--------------------------------
  174. Begin ABORT_DNLOAD
  175.    Control X
  176.    Control X
  177.    Control X
  178.    Control X
  179.    Control X
  180.    Control X
  181.    Control X
  182.    Control C
  183.    When %prompt% Goto CHECK_FOR_MAIL
  184.    When %elmcmd% Goto REQ_DNLOAD
  185.    Timeout 20 Goto CHECK_FOR_MAIL
  186. End
  187. ;--------------------------------
  188. Begin PAUSE_FOR_DNLOAD
  189.    Timeout 1 Goto DNLOAD_LETTER
  190. End
  191. ;--------------------------------
  192. Begin DNLOAD_LETTER
  193.    Download ZMODEM Then DNLOAD_SUCCESS Else GIVE_UP
  194. End
  195. ;--------------------------------
  196. Begin DNLOAD_SUCCESS
  197.    Confirm LETTER.RECEIVED Successful
  198.    Caption 'Mail received'
  199.    When 'sz' Goto SEND_CR
  200.    When %elmcmd% Goto EXIT_ELM
  201.    Timeout 10 Goto SEND_CR
  202. End
  203. ;--------------------------------
  204. Begin SEND_CR
  205.    Cr
  206.    When %elmcmd% Goto EXIT_ELM
  207.    When %prompt% Goto KILL_TEMPFILE
  208.    Timeout 10 Goto EXIT_ELM
  209. End
  210. ;--------------------------------
  211. Begin EXIT_ELM
  212.    Transmit 'q'
  213.    When %prompt% Goto KILL_TEMPFILE
  214.    When 'Delete ' Goto DEL_MSG
  215.    Timeout 10 Goto DEL_MSG
  216. End
  217. ;--------------------------------
  218. ; Elm asks: Delete message(s)?
  219. Begin DEL_MSG
  220.    Transmit 'y'
  221.    When %prompt% Goto KILL_TEMPFILE
  222.    When 'Keep unread' Goto KEEP_MSG
  223.    When 'Move read' Goto DONT_MOVE
  224.    Timeout 10 Goto EXIT_ELM
  225. End
  226. ;--------------------------------
  227. ; Elm asks: Keep unread message(s) in incoming mailbox?
  228. Begin KEEP_MSG
  229.    Transmit 'y'
  230.    When %prompt% Goto KILL_TEMPFILE
  231.    When 'Move read' Goto DONT_MOVE
  232.    Timeout 10 Goto KILL_TEMPFILE
  233. End
  234. ;--------------------------------
  235. ; Elm asks:  Move read messages to "received" folder?
  236. Begin DONT_MOVE
  237.    Transmit 'n'
  238.    When %prompt% Goto KILL_TEMPFILE
  239.    Timeout 5 Goto KILL_TEMPFILE
  240. End
  241. ;--------------------------------
  242. ; Kill the tempfile!
  243. Begin KILL_TEMPFILE
  244.    Transmit 'rm '
  245.    Transmit $LETTER.FILENAME
  246.    Cr
  247. ; Check if any more mail...
  248.    When %prompt% Goto CHECK_FOR_MAIL
  249.    Timeout 10 Goto WAIT_TO_LOG_OFF
  250. End
  251. ;--------------------------------
  252. Begin SEND_MAIL
  253.    Cr
  254.    When %prompt% Goto REQUEST_UPLOAD_LETTER
  255.    Timeout 15 Goto SEND_MAIL2
  256. End
  257. ;--------------------------------
  258. Begin SEND_MAIL2
  259.    Cr
  260.    When %prompt% Goto REQUEST_UPLOAD_LETTER
  261.    Timeout 15 Goto GIVE_UP
  262. End
  263. ;--------------------------------
  264. ; This is where letters in "Out-Box" are sent.
  265. ; Start by uploading the body of the message.
  266. ; Use ZMODEM from the prompt.
  267. ; Result is either UPLOAD_SUCCESS if it
  268. ; worked or UPLOAD_FAILURE if we failed
  269. ;--------------------------------
  270. ;Let's start ZMODEM (RZ) on the Unix side
  271. Begin REQUEST_UPLOAD_LETTER
  272.    Transmit 'rz '
  273.    Cr
  274.    When 'B01' Goto WAIT_FOR_UPLOAD
  275.    Timeout 20 Goto GIVE_UP
  276. End
  277. ;--------------------------------
  278. ;RZ is working, just a sec... 
  279. Begin WAIT_FOR_UPLOAD
  280.    Timeout 1 Goto BEGIN_LETTER_UPLOAD
  281. End
  282. ;--------------------------------
  283. Begin BEGIN_LETTER_UPLOAD
  284.    NewLetter
  285.    Upload ZMODEM Then UPLOAD_SUCCESS Else GIVE_UP
  286. End
  287. ;--------------------------------
  288. Begin UPLOAD_SUCCESS
  289.    Caption 'Body sent'
  290.    Cr
  291.    Cr
  292.    When %prompt% Goto SEND_LETTER
  293.    Timeout 8 Goto END_LETTER_UPLOAD
  294. End
  295. ;------------------------------------------------------
  296. Begin END_LETTER_UPLOAD
  297.    Caption 'Upload done'
  298.    Cr
  299.    Cr
  300.    When %prompt% Goto SEND_LETTER
  301.    Timeout 15 Goto END_LETTER_UPLOAD2
  302. End
  303. ;------------------------------------------------------
  304. Begin END_LETTER_UPLOAD2
  305.    Control C
  306.    When %prompt% Goto SEND_LETTER
  307.    Timeout 15 Goto GIVE_UP
  308. End
  309. ;--------------------------------
  310. ; Ok, here the body of the message is in our home-dir
  311. ; in